1. Field
One or more embodiments relate to a processor including cores that may operate in parallel and a method of controlling the processor.
2. Description of the Related Art
A reconfigurable architecture is used for changing and reconfiguring a hardware configuration of a computing apparatus for performing operations on software. The reconfigurable architecture may have the advantages of both hardware and software, that is, a fast operation speed and superior versatility for performing various operations.
In particular, the reconfigurable architecture may perform better than hardware and software when operating a loop for repeatedly performing the same operation. Also, the reconfigurable architecture may achieve better results when combined with a pipeline technology for repeatedly performing a next operation after one operation is performed. Accordingly, a plurality of instructions may be executed at high speed.
Various types of processors having different structures have been developed, for example, a very long instruction word (VLIW) processor, a superscalar processor, etc. Scheduling instructions to be processed by a VLIW processor may be performed by a compiler, not by hardware. In contrast, scheduling instructions to be processed by a superscalar processor may be performed by hardware. Accordingly, the VLIW processor may have a simpler structure than the superscalar processor. However, it is difficult to make a compiler for a processor by using the VLIW processor, compared to the case when the superscalar processor is used. Also, the compatibility of a program compiled by the VLIW processor may be lower than the compatibility of the same program compiled by the superscalar processor.